1. Field of the Invention
The present invention relates to the field of business process modeling and more particularly to simulating decision nodes in a business process model.
2. Description of the Related Art
Process modeling and simulation relates to the modeling and simulation of dynamic or static systems, which can include, but are not limited to, enterprise management systems, engineering systems, networked information technology systems, utility systems, utility computing systems, autonomic computing systems, on-demand systems, electric power grids, biological systems, medical systems, weather systems, financial market systems, and business process systems. Such systems can be modeled and simulated for a variety of purposes including monitoring, analysis, control, design, simulation, and management.
A process model is an abstract description of a process such as a business process or any other process related to the lifecycle of a system. The abstract description of the process model can include sufficient detail required by a simulation engine for exercising the process model with one or more scenarios to determine a likely outcome. Process models generally specify one or more tasks or activities of a process and the relationship between the different tasks or activities. As part of the model, one or more events or conditions leading to the transition from one task or activity to the next can be specified. Models generally are expressed according to a specific format. Exemplary formats include Activity Decision Flow (ADF) Unified Modeling Language (UML) activity diagrams, and the Business Process Execution Language (BPEL), to name only a few.
Most process modeling notations provide for a set of nodes connected by flow-of-control and in some cases flow-of-data. These nodes correspond to a set of behavioral elements that have been in use from flowcharts onward into modern business process modeling. A core set of node types include tasks, decisions, merges, forks and joins. Tasks are nodes where actions are performed and decisions are nodes where decisions are performed, and the flow of control of a process branches along mutually exclusive paths. Merges are nodes where branches in a process are brought together. Finally, forks are nodes where the flow of control of a process forks into multiple, parallel, paths, while joins are nodes where the parallel flows of control from a previous fork are brought together.
The decision making performed in a decision node can involve processing overhead when simulating a decision node. This result cannot be escaped for a unique decision node; however, a redundancy occurs where the outcome from processing one decision node differs little from the outcome when processing a related decision node. Specifically, where the outcome of one decision node should not vary from the outcome of another decision node, processing overhead can be needlessly incurred without changing the outcome for processing the latter decision node.